<template>
  <div>
    <h3>ErroredPage</h3>
    <button @click="triggerError">触发错误</button>

    <hr />

    <ChildComponent />
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent,
  },

  methods: {
    triggerError() {
      // 在组件方法中手动抛出错误
      throw new Error("这是一个手动触发的错误");
    },
  },

  errorCaptured(err, vm, info) {
    // 处理错误
    console.error("ErroredPage 捕获到错误：", err);
    console.error("ErroredPage 错误组件：", vm);
    console.error("ErroredPage 错误信息：", info);

    // 可以在这里发送错误日志给服务器或者进行其他错误处理操作
    // 返回 `false` 来停止错误继续传播
    // 返回 `true` 或没有返回值继续传播错误
    return false;
  },
};
</script>
